package org.jeecg.modules.workorder.vo;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class WorkingOrderRecordPageVO implements Serializable {

	private static final long serialVersionUID = 1L;
	
	/**工单号*/
    private java.lang.String workNum;
	
	
	/**拆分页*/
    private java.lang.String pn;
    
    /**交收类型*/
	@Dict(dicCode = "work_flow_type")
    private java.lang.Integer type;
	
	/**工单类型*/
	@Dict(dicCode = "work_order_type")
    private java.lang.Integer workOrderType;
	
	/**存货数量*/
    private java.lang.Integer count;
    
    /**存货人*/
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private java.lang.String storeBy;
    
    /**存货部门*/
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    private java.lang.String storeDept;
    
    /**存货状态*/
	@Dict(dicCode = "work_store_status")
    private java.lang.Integer storeStatus;
	
	/**是否拆过子单。0=否 1=是*/
	@Dict(dicCode = "yn")
    private java.lang.Integer isSplited;
	
	/**是否被合并。0=否 1=是*/
	@Dict(dicCode = "yn")
    private java.lang.Integer isMerged;
	
	/**净金重*/
    private java.math.BigDecimal goldWeight;
    
    /**净银重*/
    private java.math.BigDecimal silverModelWeight;
    
    /**蜡重*/
    private java.math.BigDecimal waxModelWeight;
    
	/**石重*/
    private java.math.BigDecimal pureStoneWeight;
	
	/**连石重*/
    private java.math.BigDecimal withStoneWeight;
	
	/**其他配件重*/
    private java.math.BigDecimal otherAccessoryWeight;
	
	/**不计耗重*/
    private java.math.BigDecimal noAttritionWeight;
	
	/**配件数*/
    private java.lang.Integer accessoryCount;
	
	/**耗率(%)*/
    private java.math.BigDecimal attritionRate;
	
	/**给耗*/
    private java.math.BigDecimal giveAttrition;
	
	/**水口或链尾*/
    private java.math.BigDecimal gate;
	
	/**原重量*/
    private java.math.BigDecimal originalWeight;
	
	/**差额*/
    private java.math.BigDecimal difference;
    
    /**工序ID*/
    private java.lang.String workingProcedureInfoId;
	
	/**发出人*/
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private java.lang.String sendBy;
	
	/**发出部门*/
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    private java.lang.String sendDept;
	
	/**发出时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private java.util.Date sendTime;
	
	/**接收人*/
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private java.lang.String receiveBy;
	
	/**接收人部门*/
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    private java.lang.String receiveDept;
	
	/**接收时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private java.util.Date receiveTime;
	
	/**工单记录状态 0待分配、1待接收、2处理中、3完成、-1暂停、-2取消*/
	@Dict(dicCode = "work_flow_status")
    private java.lang.Integer status;
	
	/**备注*/
    private java.lang.String remark;
    
    /**款名*/
    private java.lang.String styleName;
    
	/**款类。耳钉、男手链、女戒、男戒、对戒...*/
	@Dict(dicCode = "style_type")
    private java.lang.Integer styleCate;

	/**款号*/
    private java.lang.String codeNum;
    
	/**款图*/
    private byte[] styleImage;
    
	/**款图*/
	@Excel(name = "款图", width = 15)
    private transient java.lang.String styleImageString;

	public byte[] getStyleImage() {
		if (styleImageString == null) {
			return null;
		}
		try {
			return styleImageString.getBytes("UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return null;
	}

	public String getStyleImageString() {
		if (styleImage == null || styleImage.length == 0) {
			return "";
		}
		try {
			return new String(styleImage, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}
	
	/**字印*/
	@Excel(name = "字印", width = 15)
    @ApiModelProperty(value = "字印")
    private java.lang.String mark;
	
	/**字印图片*/
	@Excel(name = "字印图片", width = 15)
    private transient java.lang.String markImageString;
	/**字印图片*/
    private byte[] markImage;

	public byte[] getMarkImage() {
		if (markImageString == null) {
			return null;
		}
		try {
			return markImageString.getBytes("UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return null;
	}

	public String getMarkImageString() {
		if (markImage == null || markImage.length == 0) {
			return "";
		}
		try {
			return new String(markImage, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return "";
	}

	/**订单号*/
    @Dict(dictTable = "order_info", dicText = "code_num", dicCode = "id")
    private java.lang.String orderInfoId;
}
